how a solenoid valve works